#ifndef LEARN_H
#define LEARN_H

#include <stdbool.h>
#include <stdint.h>
#include "stm32f10x.h"
#include "Delay.h"
#include "OLED.h"

#define APB2_ENABLE(GPIOx, Mode, Pin, Speed) do { \
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_##GPIOx, ENABLE); \
        GPIO_InitTypeDef GPIO_InitStruct = { \
            .GPIO_Mode = GPIO_Mode_##Mode, \
            .GPIO_Pin = Pin, \
            .GPIO_Speed = GPIO_Speed_##Speed, \
        };\
        GPIO_Init(GPIOx, &GPIO_InitStruct);\
    } while (0)

_Noreturn void class_3_1();

_Noreturn void class_3_2();

_Noreturn void class_3_4();

_Noreturn void class_4_1();

_Noreturn void class_5_1();

_Noreturn void class_5_2();

#endif